package com.stylefeng.guns.api.film;

import jdk.nashorn.internal.runtime.linker.LinkerCallSite;

import java.util.List;

/**
 * @ClassName FilmServiceApi
 * @Description TODO
 * @Author zhaoluowei
 * @Date 2019/9/13  19:46
 * @Version 1.0
 */

public interface FilmServiceApi {

    //获取banner
    List<BannerVo> getBanners();

    //获取热映影片
    FilmsVo getHotFilms(boolean isLimit, int nums, int nowPage, int sortId, int sourceId, int yearId, int catId);

    //获取即将上映影片(按照受欢迎程度排序)
    FilmsVo getSoonFilms(boolean isLimit, int nums, int nowPage, int sortId, int sourceId, int yearId, int catId);

    // 经典影片  新加入的方法
    FilmsVo getClassicFilms(int nums, int nowPage, int sortId, int sourceId, int yearId, int catId);


    //推荐的做法是方法的重构
    //FilmsVo getHotFilms(boolean isLimit, int nums,int nowPage,int sortId,int sourceId,int yearId,int catId);


    //获取票房排行榜
    List<FilmInfo> getBoxRanking();

    //获取人气排行榜
    List<FilmInfo> getExpectRanking();

    //获取top100
    List<FilmInfo> getTop();


    //====== 获取影片条件接口
    //分类条件
    List<CatVo> getCats();

    //片源条件
    List<SourceVo> getSources();

    //年代条件
    List<YearVo> getYears();


    //======== 根据影片id或者名称获取  影片详情接口
    FilmDetailVo getFilmDetail(int searchType,String searchParam);


    //获取影片相关的其他信息 演员表、图片地址、
    FilmDesVo getFilmDes(String filmId);
    //获取图片信息
    ImgVo getImgs(String filmId);
    //获取导演信息
    ActorVo getDectInfo(String filmId);
    //获取演员信息
    List<ActorVo> getActors(String filmId);


}
